#!/usr/bin/env python
import os
import sys
import random
import string
import time

# 设置Django环境
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'sass轻量级BUG管理平台.settings')
import django
django.setup()

# 导入模型
from web.models import UserInfo, Project, ProjectUser
from utils.tencent.cos import create_cos_bucket

def init_test_project():
    # 获取第一个用户
    try:
        user = UserInfo.objects.first()
        if not user:
            print('没有找到用户，请先创建用户')
            return

        print(f'找到用户: {user.username}')

        # 检查用户是否已有项目
        existing_projects = ProjectUser.objects.filter(user=user)
        if existing_projects.count() > 0:
            print('用户已有项目，无需创建')
            return

        # 创建测试项目
        bucket_name = f"{user.username}-{''.join(random.choices(string.ascii_lowercase + string.digits, k=6))}-{int(time.time())}"
        region = 'ap-guangzhou'

        # 创建项目
        project = Project.objects.create(
            name='测试项目',
            color=1,
            desc='这是一个测试项目',
            creator=user,
            bucket=bucket_name,
            region=region
        )

        # 添加用户到项目
        ProjectUser.objects.create(
            project=project,
            user=user,
            star=True
        )

        print(f'成功创建测试项目: {project.name}')
        print(f'项目ID: {project.id}')
        print('现在下拉框应该可以显示这个项目了')

    except Exception as e:
        print(f'创建项目失败: {str(e)}')

if __name__ == '__main__':
    init_test_project()